import express from 'express'
import { useOpenAiGPT } from '../utils/openai.js'
import { useFetchToOpenAIGPT } from '../utils/openai-fetch.js'

const router = express.Router()

// chatgpt提问
router.post('/chat/prompt', async (req, res, next) => {
  // 设置为流式响应
  res.setHeader('Content-type', 'application/octet-stream')
  try {
    const { prompt } = req.body
    // 1.openai库方式实现：
    await useOpenAiGPT(
      prompt, 
      (chatMessage) => {
        res.write(chatMessage)
      },
      () => {
        // 流式数据接收结束，结束对客户端响应
        res.end()
      }
    )
    // 2.fetch请求
    // useFetchToOpenAIGPT(
    //   prompt,
    //   (chatMessage) => {
    //     res.write(chatMessage)
    //   },
    //   () => {
    //     res.end()
    //   }
    // )
  } catch(err) {
    console.error('chatgpt 提问出错：', err)
  }
})

export default router